package com.wuye.services;

import java.util.List;
import java.util.Map;

import com.wuye.common.services.BaseManager;
import com.wuye.common.vo.PageInfo;
import com.wuye.common.vo.RetVO;
import com.wuye.entity.User;

public interface UserServiceManager extends BaseManager{
	void saveUser(Map<String, Object> map);
	/**
	 * 账号是否已经存在
	 * @param account
	 * @return
	 */
	boolean isExitAccount(String account);
	RetVO getUser(Map<String, Object> map,
			final int currentPage, final int perPageNum);
	
	/**
	 * 查看用户帐号是否和微信绑定
	 * @param opendId
	 * @return
	 */
	User getUserBindingsWeiXin(String opendId);
	/**
	 * 用户和微信号进行绑定
	 * @param user
	 * @return
	 */
	boolean updateUserOpendId(User user);
	/**
	 * 根据手机帐号获取用户信息
	 * @param account
	 * @return
	 */
	User getUserByAccount(String account);
	/**
	 * 客户信息获取.
	 * @param map
	 * @param currentPage
	 * @param perPageNum
	 * @return
	 * @author Luxb
	 * 2015-12-19 Luxb
	 */
    PageInfo qryUserList(Map<String,Object> map,final int currentPage, final int perPageNum);
    
    RetVO del(Map<String, Object> map) throws Exception;
    
    /**
     * 查询组织
     * @param map
     * @return
     */
    public RetVO getOrgs(Map<String, Object> map);
    
    public RetVO save(Map<String, Object> map) throws Exception;
    
    /**
     * 查询角色
     * @param map
     * @return
     */
    public RetVO getRoles(Map<String, Object> map);

    /**
     * 判断用户是否具有特定权限
     * @param user
     * @param privilegeCode
     * @return
     */
    public RetVO hasPrivilege(User user,String... privilegeCode);
    
    /**
     * 获取用户权限信息
     */
    public RetVO getPrivileges(Map<String, Object> map);
}
